package ltd.hellotrik.common.util;

import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.NumberFormat;

public class NumberUtil {
	/**
	 * 两个数求百分比（只有数值部分，百分号自己加）num1/num2
	 * 
	 * @param num1
	 * @param num2
	 * @return
	 */
	public static double getPercentum(long num1, long num2) {
		// 创建一个数值格式化对象
		NumberFormat numberFormat = NumberFormat.getInstance();
		// 设置精确到小数点后2位
		numberFormat.setMaximumFractionDigits(2);
		String result = numberFormat.format((float) num1 / (float) num2 * 100);
		double d = Double.parseDouble(result);
		return d;
	}

	/**
	 * 两个百分数 的积， eg: 66.05 * 18.02  结果为   11.9  省略了% 计算
	 * @param num1
	 * @param num2
	 * @return
	 */
	public static double get2Percentum(double num1, double num2) {
		// 创建一个数值格式化对象
		NumberFormat numberFormat = NumberFormat.getInstance();
		// 设置精确到小数点后2位
		numberFormat.setMaximumFractionDigits(2);
		String result = numberFormat.format((float) (num1/100) * (float) (num2/100) * 100);
		double d = Double.parseDouble(result);
		return d;
	}
	
	public static double formatDouble(double d) {
		// 新方法，如果不需要四舍五入，可以使用RoundingMode.DOWN
		BigDecimal bg = new BigDecimal(d).setScale(3, RoundingMode.UP);
		return bg.doubleValue();
	}
	
	public static void main(String[] args) {
		System.out.println(get2Percentum(66.06, 18.02));
	}
}
